home *** CD-ROM | disk | FTP | other *** search
- Printer definition file for WSSINDEX custom print utility
-
- All lines of this file are comments until a line beginning ----. After that,
- alternate lines are comments and parameters. See the WSSINDEX documentation
- for a description of the format allowed here. The codes in this file are for
- a generic postscript printer, but you may alter these to suit your needs.
- Some items which you might expect to control in this file, such as font size
- and portrait or landscape orientation are instead built into Wssindex. The
- complex commands which do appear in this file relate to disk covers. They are
- made harder to read by the need to represent blank by \s and escape numbers so
- that they are interpreted as character.
-
- This definition file has been tested using a QMS Jetscript board driving a
- Canon engine.
-
- Command to advance to next cover, after translation, is
- currentpoint exch pop 396 lt {p}{0 -18 rmoveto}ifelse
- This means
- 1. stack the x-y coordinates of the current position
- 2. exchange the coordinates just stacked
- 3. throw away one of them (x)
- 4. test if y is less than 396, which is the middle of the page for 11
- inch paper (72 points/inch * 11 inches / 2)
- 5. if y is less than 396, more than half the page has been used, so
- execute macro p (defined elsewhere) which starts a new page, otherwise
- move down 18 points (0.25") from the current line
- The numbers 396 and 18 might reasonably be adjusted. If you are trying to
- fit more than 2 covers on a page, note that the y coordinate 0 is at the bottom
- of the page, so for 3 covers, 396 would be replaced by approximately 264.
-
- When the disk cover box forming characters are printed, the fontsize has
- already been put on the postscript stack. Commands here are bracketed by
- gsave ... stroke grestore before being sent to the printer, so scaling and
- line width adjustments apply only to the box border. Looking at the top left
- hand corner character as a typical example, the translated command is
- dup scale .1 setlinewidth .5 0 rmoveto 0 .5 rlineto 1 0 rlineto
- which means
- 1. duplicate the fontsize number already stacked and use it as an overall
- scale factor for the lines generating the box. (x and y can be scaled
- independently, but there's no reason to do that here.)
- 2. set the line width to one tenth point (times the font size scale factor)
- 3. move to lower middle of character box, draw two lines making up the
- corner of the box. The box you are drawing is is effectively 1x1 and
- initially the "pen" is at the lower left.
- Probably the only thing you might want to change here is the line width.
-
- With 90-character wide by 45-character high covers, a font size which works
- well is 7 points with 1 point extra spacing. Enter these numbers on the
- postscript printer setup menu in Wssindex.
- ------------------------------------------------------------
- Printer name
- Postscript printer
- Optional string printed on all labels
- Property of <your name here>
- Printer initialization command for 1,2,... column printing, 50 max
-
- Printer initialization command for labels, 50 max (pitch, line spacing, etc.)
-
- Printer initialization command for disk covers, 50 max
-
- Printer deinitialization command, 10 max (form feed for laser printer, etc.)
-
- Number of spaces in left margin for labels
- 5
- Number of columns for labels
- 1
- Width of labels (characters)
- 50
- Number of characters between labels (if multiple columns)
- 5
- Length of label in lines (including unusable lines)
- 12
- Number of usable lines for label
- 9
- Number of spaces in left margin for disk covers
- 10
- Width of paper for disk covers (characters)
- 90
- Length of page in lines for disk covers
- 45
- Printer command to position for the next disk cover
- currentpoint \s exch \s pop \s \3\9\6 \s lt \s { p } {\0 \s -\1\8 \s rmoveto} ifelse
- Character to use for sides of disk cover box (use only "pop" to omit border)
- dup \s scale \s .\1 \s setlinewidth \s .\5 \s \0 \s rmoveto \s \0 \s \1 \s rlineto
- Character to use for top and bottom lines
- dup \s scale \s .\1 \s setlinewidth \s \0 \s .\5 \s rmoveto \s \1 \s \0 \s rlineto
- Character to use for top left corner
- dup \s scale \s .\1 \s setlinewidth \s .\5 \s \0 \s rmoveto \s \0 \s .\5 \s rlineto \s \1 \s \0 \s rlineto
- Character to use for top right corner
- dup \s scale \s .\1 \s setlinewidth \s \0 \s .\5 \s rmoveto \s .\5 \s \0 \s rlineto \s \0 \s -.\5 \s rlineto
- Character to use for bottom left corner
- dup \s scale \s .\1 \s setlinewidth \s .\5 \s \1 \s rmoveto \s \0 \s -.\5 \s rlineto \s .\5 \s \0 \s rlineto
- Character to use for bottom right corner
- dup \s scale \s .\1 \s setlinewidth \s \0 \s .\5 \s rmoveto \s .\5 \s \0 \s rlineto \s \0 \s .\5 \s rlineto
- End of printer configuration file
-